<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>Cria&ccedil;&atilde;o de c&oacute;digo de barras usando a classe Zend_Barcode - Zend Framework Manual</title>

    <link href="../css/shCore.css" rel="stylesheet" type="text/css" />
    <link href="../css/shThemeDefault.css" rel="stylesheet" type="text/css" />
    <link href="../css/styles.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Zend Framework</h1>
<h2>Programmer's Reference Guide</h2>
<ul>
    <li><a href="../en/zend.barcode.creation.html">Inglês (English)</a></li>
    <li><a href="../pt-br/zend.barcode.creation.html">Português Brasileiro (Brazilian Portuguese)</a></li>
</ul>
<table width="100%">
    <tr valign="top">
        <td width="85%">
            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.barcode.introduction.html">Introdu&ccedil;&atilde;o</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.barcode.html">Zend_Barcode</a></span><br />
                        <span class="home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.barcode.objects.html">Objetos Zend_Barcode</a></div>
                    </td>
                </tr>
            </table>
<hr />
<div id="zend.barcode.creation" class="section"><div class="info"><h1 class="title">Criação de código de barras usando a classe Zend_Barcode</h1></div>
    

    <div class="section" id="zend.barcode.creation.configuration"><div class="info"><h1 class="title">Usando o Zend_Barcode::factory</h1></div>
        

        <p class="para">
            <span class="classname">Zend_Barcode</span> utiliza um método de fábrica para criar uma
            instância de um renderizador que estende
            <span class="classname">Zend_Barcode_Renderer_RendererAbstract</span>. O método de fábrica
            aceita cinco argumentos.
        </p>

        <ol type="1">
            <li class="listitem">
                <p class="para">
                    O nome do formato de código de barras (por exemplo, &quot;code39&quot;) (obrigatório)
                </p>
            </li>

            <li class="listitem">
                <p class="para">O nome do renderizador (por exemplo, &quot;image&quot;) (obrigatório)</p>
            </li>

            <li class="listitem">
                <p class="para">
                    As opções do objeto código de barras (uma matriz ou objeto
                    <span class="classname">Zend_Config</span>) (opcional)
                </p>
            </li>

            <li class="listitem">
                <p class="para">
                    As opções do objeto renderizador (uma matriz ou objeto
                    <span class="classname">Zend_Config</span>) (opcional)
                </p>
            </li>

            <li class="listitem">
                <p class="para">
                    Booleano indicando se a renderização automática dos erros está ativada. Se
                    ocorrer uma exceção, o objeto código de barras fornecido será substituído por
                    uma representação de erro (opcional, padrão <b><tt>TRUE</tt></b>)
                </p>
            </li>
        </ol>

        <div class="example" id="zend.barcode.creation.configuration.example-1"><div class="info"><p><b>Example #1 Recuperando um Renderizador com Zend_Barcode::factory()</b></p></div>
            

            <div class="example-contents"><p>
                 <span class="methodname">Zend_Barcode::factory()</span> instancia objetos código de barras
                e renderizadores no mesmo laço. Neste primeiro exemplo, vamos usar o tipo código de
                barras <em class="emphasis">Code39</em>, juntamente com o renderizador
                <em class="emphasis">Image</em>.
            </p></div>

            <pre class="programlisting brush: php">
// Somente o texto a ser escrito é necessário
$barcodeOptions = array(&#039;text&#039; =&gt; &#039;ZEND-FRAMEWORK&#039;);

// Não há opções necessárias
$rendererOptions = array();
$renderer = Zend_Barcode::factory(
    &#039;code39&#039;, &#039;image&#039;, $barcodeOptions, $rendererOptions
);
</pre>

        </div>

        <div class="example" id="zend.barcode.creation.configuration.example-2"><div class="info"><p><b>Example #2 Usando o Zend_Barcode::factory() com objetos Zend_Config</b></p></div>
            

            <div class="example-contents"><p>
                Você pode passar um objeto <span class="classname">Zend_Config</span> para a fábrica, a fim
                de criar os objetos necessários. O exemplo a seguir é funcionalmente equivalente
                ao anterior.
            </p></div>

            <pre class="programlisting brush: php">
// Usando apenas um objeto Zend_Config
$config = new Zend_Config(array(
    &#039;barcode&#039;        =&gt; &#039;code39&#039;,
    &#039;barcodeParams&#039;  =&gt; array(&#039;text&#039; =&gt; &#039;ZEND-FRAMEWORK&#039;),
    &#039;renderer&#039;       =&gt; &#039;image&#039;,
    &#039;rendererParams&#039; =&gt; array(&#039;imageType&#039; =&gt; &#039;gif&#039;),
));

$renderer = Zend_Barcode::factory($config);
</pre>

        </div>
    </div>

    <div class="section" id="zend.barcode.creation.drawing"><div class="info"><h1 class="title">Desenhando um código de barras</h1></div>
        

        <p class="para">
            Quando você <em class="emphasis">desenha</em> o código de barras, você recuperar o recurso em
            que o código de barras é desenhado. Para desenhar um código de barras, você pode chamar
            o método  <span class="methodname">draw()</span> do renderizador ou simplesmente usar o método
            de proxy fornecido pelo <span class="classname">Zend_Barcode</span>.
        </p>

        <div class="example" id="zend.barcode.creation.drawing.example-1"><div class="info"><p><b>Example #3 Desenhando um código de barras com o objeto renderizador</b></p></div>
            

            <pre class="programlisting brush: php">
// Somente o texto a ser escrito é necessário
$barcodeOptions = array(&#039;text&#039; =&gt; &#039;ZEND-FRAMEWORK&#039;);

// Não há opções necessárias
$rendererOptions = array();

// Desenha o código de barras em uma nova imagem
$imageResource = Zend_Barcode::factory(
    &#039;code39&#039;, &#039;image&#039;, $barcodeOptions, $rendererOptions
)-&gt;draw();
</pre>

        </div>

        <div class="example" id="zend.barcode.creation.drawing.example-2"><div class="info"><p><b>Example #4 Desenhando um código de barras com Zend_Barcode::draw()</b></p></div>
            

            <pre class="programlisting brush: php">
// Somente o texto a ser escrito é necessário
$barcodeOptions = array(&#039;text&#039; =&gt; &#039;ZEND-FRAMEWORK&#039;);

// Não há opções necessárias
$rendererOptions = array();

// Desenha o código de barras em uma nova imagem
$imageResource = Zend_Barcode::draw(
    &#039;code39&#039;, &#039;image&#039;, $barcodeOptions, $rendererOptions
);
</pre>

        </div>
    </div>

    <div class="section" id="zend.barcode.creation.renderering"><div class="info"><h1 class="title">Renderizando um código de barras</h1></div>
        

        <p class="para">
            Quando você renderiza um código de barras, você desenha o código de barras, envia os
            cabeçalhos e envia também o recurso (à um navegador, por exemplo). Para renderizar um
            código de barras, você pode chamar o método  <span class="methodname">render()</span> do
            renderizador ou simplesmente usar o método de proxy fornecido pelo
            <span class="classname">Zend_Barcode</span>.
        </p>

        <div class="example" id="zend.barcode.creation.renderering.example-1"><div class="info"><p><b>Example #5 Renderizando um código de barras com o objeto renderizador</b></p></div>
            

            <pre class="programlisting brush: php">
// Somente o texto a ser escrito é necessário
$barcodeOptions = array(&#039;text&#039; =&gt; &#039;ZEND-FRAMEWORK&#039;);

// Não há opções necessárias
$rendererOptions = array();

// Desenha o código de barras em uma nova imagem,
// enviar os cabeçalhos e a imagem
Zend_Barcode::factory(
    &#039;code39&#039;, &#039;image&#039;, $barcodeOptions, $rendererOptions
)-&gt;render();
</pre>


            <div class="example-contents"><p>
                Isso gerará este código de barras:
            </p></div>

            <div class="example-contents"><p>
                <div class="inlinemediaobject"><div class="imageobject"><img src="images/d481d625821a97b9a5eb2cec99dca50e-zend.barcode.introduction.example-1.png" alt="zend.barcode.introduction.example-1.png" width="275" height="61" /></div></div>
            </p></div>
        </div>

        <div class="example" id="zend.barcode.creation.renderering.example-2"><div class="info"><p><b>Example #6 Renderizando um código de barras com Zend_Barcode::render()</b></p></div>
            

            <pre class="programlisting brush: php">
// Somente o texto a ser escrito é necessário
$barcodeOptions = array(&#039;text&#039; =&gt; &#039;ZEND-FRAMEWORK&#039;);

// Não há opções necessárias
$rendererOptions = array();

// Desenha o código de barras em uma nova imagem,
// enviar os cabeçalhos e a imagem
Zend_Barcode::render(
    &#039;code39&#039;, &#039;image&#039;, $barcodeOptions, $rendererOptions
);
</pre>


            <div class="example-contents"><p>
                Isso gerará o mesmo código de barras do exemplo anterior.
            </p></div>
        </div>
    </div>
</div>
        <hr />

            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.barcode.introduction.html">Introdu&ccedil;&atilde;o</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.barcode.html">Zend_Barcode</a></span><br />
                        <span class="home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.barcode.objects.html">Objetos Zend_Barcode</a></div>
                    </td>
                </tr>
            </table>
</td>
        <td style="font-size: smaller;" width="15%"> <style type="text/css">
#leftbar {
	float: left;
	width: 186px;
	padding: 5px;
	font-size: smaller;
}
ul.toc {
	margin: 0px 5px 5px 5px;
	padding: 0px;
}
ul.toc li {
	font-size: 85%;
	margin: 1px 0 1px 1px;
	padding: 1px 0 1px 11px;
	list-style-type: none;
	background-repeat: no-repeat;
	background-position: center left;
}
ul.toc li.header {
	font-size: 115%;
	padding: 5px 0px 5px 11px;
	border-bottom: 1px solid #cccccc;
	margin-bottom: 5px;
}
ul.toc li.active {
	font-weight: bold;
}
ul.toc li a {
	text-decoration: none;
}
ul.toc li a:hover {
	text-decoration: underline;
}
</style>
 <ul class="toc">
  <li class="header home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></li>
  <li class="header up"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></li>
  <li class="header up"><a href="reference.html">Refer&ecirc;ncia do Zend Framework</a></li>
  <li class="header up"><a href="zend.barcode.html">Zend_Barcode</a></li>
  <li><a href="zend.barcode.introduction.html">Introdu&ccedil;&atilde;o</a></li>
  <li class="active"><a href="zend.barcode.creation.html">Cria&ccedil;&atilde;o de c&oacute;digo de barras usando a classe Zend_Barcode</a></li>
  <li><a href="zend.barcode.objects.html">Objetos Zend_Barcode</a></li>
  <li><a href="zend.barcode.renderers.html">Renderizadores do Zend_Barcode</a></li>
 </ul>
 </td>
    </tr>
</table>

<script type="text/javascript" src="../js/shCore.js"></script>
<script type="text/javascript" src="../js/shAutoloader.js"></script>
<script type="text/javascript" src="../js/main.js"></script>

</body>
</html>